package com.xiaolin.algorithm.sort;

import java.util.Arrays;

/**
 * @ClassName SelectSort
 * @Description 选择排序
 * @Detail
 *              角色：
 *                  1、要排序的数组
 *                  2、临时变量
 *                  3、最小值的索引
 * @Author MyPC
 * @Date 2020/7/18
 * @Version 1.0
 */
public class SelectSort {
    public static void main(String[] args) {
        int arr[]={15,2,4,8,1,5,18,6,4};
        //外循环只需循环数组长度-1次
        for(int j=0;j<arr.length-1;j++){
            //临时变量，先存储索引为j的值，用于存储最小值
            int temp=arr[j];
            //最小值索引
            int index=j;
            //从最小索引的后一个元素开始查找最小值
            for(int i=j+1;i<arr.length;i++){
                if(temp>arr[i]){
                    //存储最小值
                    temp=arr[i];
                    //存储最小值索引
                    index=i;
                }
            }
            //最小值有发生改变，才进行交换
            if(index !=j){
                arr[index]=arr[j];
                arr[j]=temp;
            }
        }
        System.out.println(Arrays.toString(arr));

    }
}
